1. Field of the Invention
The present invention relates to data networking protocols, and more specifically to a method and apparatus for enabling communication when signaling protocol packets contain embedded addresses subject to translation.
2. Related Art
Signaling protocols are often designed to send packets containing embedded addresses. For example, a source system may send an invite packet to a server requesting that a session be initiated with a destination system (e.g., mobile system) using Session Initiation Protocol (SIP). The server may locate the destination system and forwards at least a portion of the invite packet to the destination system, and the destination system may initiate communication with the source system using the portion.
To enable the destination system to initiate such communication, SIP may require that the IP address of the source system be included in a data portion (as opposed to header portion) of the invite packet. Accordingly, the IP address of the source system may be embedded in the invite packet. The embedded address is used by the destination system to initiate the requested session. SIP is described in further detail in RFC 2543 entitled, “SIP: Session Initiation Protocol”, available from www.ietf.org and is incorporated in its entirety herewith.
Addresses are often subjected to translation, particularly when crossing the boundary of a network. For example, a gateway (at the edge of an enterprise network) implementing network address translation (NAT) may translate a source/destination address of a packet before forwarding the packet. NAT is described in further detail in RFC 3022 entitled, “Traditional IP Network Address Translator (Traditional NAT)”, which is also available from www.ietf.org, and is incorporated in its entirety herewith. It is often desirable that user applications using signaling protocols operate in the presence of address translation as well.
However, address translation may present challenges for appropriate operation of such user applications. For illustration, with reference to the example in the preceding paragraphs, a gateway may translate an original address of a source system to a translated address when forwarding packets received from the source system, and to perform a reverse translation when forwarding packets to the source system. Accordingly, if the destination system uses the source system's original address to communicate with the source system, the corresponding packets may not reach the source system. As a result, the user applications may not operate as desired.
Accordingly, what is needed is a method and apparatus for enabling communication when signaling protocol packets contain embedded addresses subject to translation.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.